package com.markhsiu.common.memory;

/**
 * 
 * @author Mark Hsiu
 *
 */
public abstract class ByteBuff {

	public abstract ByteBuff putInt(int value) ;
	
	public abstract ByteBuff put(byte value) ;
	
	 abstract void _put(int index,byte b) ;

	public abstract ByteBuff put(byte[] src);
	
	 abstract byte _get(int index);
	
	public abstract ByteBuff put(byte[] src, int offset, int length);
	
	public abstract byte[] data() ;

	public abstract void clear() ;
	
	public abstract int length() ;
	
	public abstract int capacity();

	public abstract int capacity(int newCapacity) ;

	public abstract int writableBytes();
	
	public abstract int writerIndex();
	
}
